Conversation
…t as one A coverage check that failed stored 0/0/0 and /api/status published them as a ratio of 1, so Texel read as complete while its supplier timed out. With `error` set, supplierDocuments, heldDocuments, missingDocuments and ratio are now null. iBabs reports its own database timeout as Status=ERR in an HTTP 200, worded "Execution Timeout Expired". isSoapTimeout only matched "timed out", so the adaptive window halving never applied to it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Joep · project thread
Before: when the weekly coverage check failed for a source,
/api/statuspublishedsupplierDocuments,heldDocumentsandmissingDocumentsas 0 andratioas 1. Texel, with 5,890 indexed documents and a supplier timeout, read as complete. And the iBabs error "Execution Timeout Expired" (aStatus=ERRinside an HTTP 200) was not recognised as a timeout, so the adaptive window halving never applied to it.After: with
errorset, those four fields arenull,missingSampleis empty andlowerBoundis true. "Execution Timeout Expired" counts as a timeout inisSoapTimeout.How:
toSourceCoverageinweb/status_api.tsreturns nulls for a failed check (the stored zeros stay in the database), theSourceCoveragetype insrc/types.tsallowsnull, and API.md documents it. Tests intests/coverage_check.test.tsandtests/ibabs.test.ts.This does not by itself fix Rotterdam or Texel. The nightly run covers 14 days and only splits from 28 days, and the run issue names only the step
ingest_quickwit, so which SOAP call times out is not known. The logs of a failing run are needed for that.The four numbers becoming nullable is a change to the public status contract, for consumers that read them without checking
error.Refs #309
Generated by Claude Code